Displaying location-specific images on a mobile device

ABSTRACT

A system is provided for providing location-specific images to a mobile device for display. The system generally comprises three components: a mobile device having a screen, a position identification system (e.g., a GPS receiver) that determines the position of the mobile device, and a database containing location-specific images taken at various locations. Each location-specific image is associated with geographic coordinates of the location at which the image was taken. Based on the position of the mobile device as determined by the position identification system, a location-specific image is selected from the database and displayed on the screen of the mobile device. For example, when a user is using the mobile device as a car navigation system, a location-specific image of the user&#39;s destination location can be selected and displayed when the determined position of the mobile device comes within a certain distance from the geographic coordinates of the destination location.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of, and claims priority toallowed U.S. application Ser. No. 13/921,077, entitled “DisplayingLocation-Specific Images On A Mobile Device,” filed Jun. 18, 2013, whichis a continuation of U.S. patent application Ser. No. 13/182,387,entitled “Displaying Location-Specific Images On A Mobile Device,” filedJul. 13, 2011, now U.S. Pat. No. 8,473,200, which is a divisional ofU.S. patent application Ser. No. 10/973,950, entitled “System And MethodFor Displaying Location-Specific Images On A Mobile Device,” filed Oct.25, 2004, now U.S. Pat. No. 8,150,617, the entire disclosure of each ofwhich is incorporated herein by reference.

TECHNICAL FIELD

The present invention is related to providing location-specific servicesto mobile devices, and more specifically, to displaying alocation-specific image on a mobile device based on a determinedposition of the mobile device.

BACKGROUND

Various types of mobile devices are available to transmit/receivevarious information wirelessly, such as cellular phones, personaldigital assistants (PDAs), Blackberry® devices, etc. These devices canstore and process an increasing amount of information, includingreal-time images in the form of a video clip. Many of these devicesinclude a color screen that can display images (graphics) as well astext. Further, some of these devices are equipped with a globalpositioning system (GPS) receiver so as to function as a navigationsystem, in addition to functioning as a communications device. As iswell known in the art, a navigation system can receive a destinationlocation from a user, calculate suitable directions to go from theuser's current position, as determined based on data obtained by the GPSreceiver, to the destination location, and display the directionstogether with a relevant map on its screen. The directions and a map asdisplayed on the screen are constantly updated based on the current(moving) position of the user as determined based on data obtained bythe GPS receiver. Current navigation systems, however, do not display aground-level image of the destination location (i.e., an image taken atthe destination location), or any other images of locations that theuser will pass along the way toward the destination location. Aground-level image, as used herein, means an image that shows an object(e.g., a business storefront) in the manner actually perceived by peopleon the ground, as opposed to aerial or rooftop images. It would behelpful for the user to be able to view such images on the screen of thenavigation system so that the user can look for particular objects(e.g., buildings, intersections, etc.) shown in the images of thedestination location and any other landmark points along the directions,especially when traveling in an unfamiliar area. More particularly, whatis lacking is a system and method for displaying location-specificimages (i.e., ground-level images of objects taken at particularlocations) on a mobile device, such as a cellular phone and a carnavigation system, based on the determined position of the mobiledevice.

BRIEF SUMMARY

The present invention provides methods and systems whereby a mobiledevice, such as a cellular phone or a car navigation system, may displaylocation-specific images based on the position of the mobile device asdetermined by a position identification system, such as a GPS system. Tothat end, a database of location-specific images is provided, whereineach image is associated with the geographic coordinates (e.g.,longitude/latitude coordinates) of the location at which the image wastaken. In various exemplary embodiments of the present invention, eachimage associated with its geographic coordinates is further correlatedwith its street address (or its business name, for example) so that theimage can be retrieved and displayed based on a user input of its streetaddress (or business name, etc.) The construction and use of such adatabase are disclosed in detail in co-pending U.S. patent applicationSer. No. 10/809,049, filed Mar. 24, 2004, which is explicitlyincorporated herein by reference.

Thus, for example, a user of a car navigation system will be able toenter a destination location using its street address, and the methodand system of the present invention will permit the car navigationsystem to display the image of the destination location and additionalimages of other landmark points along the way toward the destinationlocation in addition to the usual maps-and-directions to the destinationlocation. The timing at which each of these location-specific images isto be displayed will depend on the current position of the carnavigation system as determined by its position identification system(e.g., GPS system). In one example, an image of a landmark point will bedisplayed when the car navigation system comes within a certain distancefrom the landmark point with an appropriate text message, such as “Lookfor this, and turn left at this.” Likewise, an image of the finaldestination location may be displayed when the car navigation systemcomes within a certain distance from the destination location, orwhenever the user requests to view such an image, with an appropriatetext message, such as “Look for this at your destination.” Timelydisplay of these location-specific images will assist the user infollowing the directions and finding the final destination locationeasily. Further, the image of a destination location may be displayed atthe beginning (prior to starting the user's journey to the destinationlocation) so as to assist the user in deciding whether or not to gothere (e.g., based on how appealing the image of the destinationlocation looks to the user), remembering whether the user has been therebefore, etc.

In one embodiment, the location-specific images are provided to a mobiledevice through a wireless communications network from a centralizeddatabase. In another embodiment, the location-specific images may bepre-stored in the mobile device via a hard disk (including DVD, CD,etc.).

In one application, instead of discrete images, a video clip thatdisplays a moving view of an entire trip or a part thereof can bedownloaded (or pre-stored) and displayed on a mobile device.

In a further application, the location-specific images (including videoimages) may be transferred not only from a centralized database tomobile devices, but also from the mobile devices to the database. Forexample, if a mobile device, such as a cellular phone, has an imagecapturing capability, the user of the mobile device can take an image ata particular position, and the image can be automatically coded with thegeographic coordinates of the position of the mobile device when theimage is taken as determined by the position identification system(e.g., GPS receiver), and then the geo-coded image can be transferredfrom the mobile device to the database so as to continuously updateand/or expand the database.

Generally, in accordance with various exemplary embodiments of thepresent invention, a system is provided for providing location-specificimages to a mobile device for display. The system is generally comprisedof three components: a mobile device having a screen, a positionidentification system (e.g., a GPS receiver) that determines theposition of the mobile device, and a location-specific images databaseincluding images taken at various locations, wherein each image isassociated with geographic coordinates of the location at which theimage was taken. The position of the mobile device is identified by themobile device position identification system, and a location-specificimage is selected from the database based on the determined position ofthe mobile device and displayed on the screen of the mobile device. Forexample, the location-specific image is selected when the determinedposition of the mobile device comes within a certain distance from thegeographic coordinates associated with the image.

The system may be adapted to selectively display location-specificimages on a mobile device in various contexts. For example, the systemmay be applied to provide shopping assistance to a user of the mobiledevice. In this application, the system receives at the mobile device ashopping list from the user including one or more items that the userwishes to purchase. For each of the items in the shopping list, thesystem identifies one or more businesses that carry the item. Then, foreach of the one or more identified businesses, the system determines itsgeographic coordinates and further identifies its correspondinglocation-specific image. Finally, the system generates a shopping listprogram comprising instructions for displaying on the screen of themobile device an image of one of the one or more identified businessesbased on the determined position of the mobile device. For example, thesystem may display a location-specific image of a particular businessthat carries an item included in the user's shopping list when thebusiness is determined to be within a certain distance from thedetermined position of the mobile device. An audio alarm may be issuedwhen the image is displayed to further alert the user that the relevantbusiness is near.

As another example, the system may be applied to recommend “favorite”places to visit to a user of the mobile device. In this application, thesystem, upon receiving from the mobile device a user's request for arecommendations service, accesses a profile of the user of the mobiledevice in a user profiles database to identify one or more favoriteplaces of the user. The favorite places may be those places that theuser has previously explicitly entered as his/her favorites, or may bepresumed based on the user's past behavior on the system, for example,destination locations that the user has previously entered in anavigation service. The system then determines geographic coordinates ofthe one or more favorite places. Finally, the system generates afavorite places program comprising instructions for displaying on thescreen of the mobile device an image of any of the one or more favoriteplaces based on the determined position of the mobile device. Forexample, the system may display a location-specific image of aparticular favorite place of the user when the favorite place isdetermined to be within a certain distance from the determined positionof the mobile device.

In accordance with a further aspect, the present invention provides amethod of displaying a location-specific image on a mobile device basedon the position of the mobile device. The method generally includesthree steps. First, a position of a mobile device is received. Second, alocation-specific image is selected from multiple location-specificimages based on the received position of the mobile device, wherein eachlocation-specific image is associated with geographic coordinates of thelocation at which the image was taken. Third, the selected image isdisplayed on the mobile device.

In accordance with a still further aspect, the present inventionprovides a mobile device capable of displaying a location-specific imagebased on a determined position of the mobile device. The mobile devicegenerally consists of two elements: a screen and a processor. Theprocessor is loaded with processor-executable instructions for generallyperforming three steps. The first step involves receiving a position ofthe mobile device as determined by a position identification system. Thesecond step involves selecting a location-specific image from a set oflocation specific images based on the determined position of the mobiledevice. The third step involves displaying the selectedlocation-specific image on the screen. In an application wherein the setof images is stored in an images database external to the mobile device,a location-specific image is selected from the database based on thedetermined position of the mobile device, and is transmitted over awireless communications network to the mobile device for display. Inanother application wherein the set of images is stored in a memory ofthe mobile device, a location specific image is selected from the memorybased on the determined position of the mobile device and displayed onthe screen.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing aspects and many of the attendant advantages of thisinvention will become more readily appreciated as the same become betterunderstood by reference to the following detailed description, whentaken in conjunction with the accompanying drawings, wherein:

FIG. 1 A is a block diagram showing an environment and arrangement ofcertain computing components for implementing a mobile image serviceaccording to one embodiment of the present invention;

FIG. 1B is a diagram illustrating an exemplary configuration of a mobiledevice, suitable for use in receiving the mobile image service inaccordance with one embodiment of the present invention;

FIG. 1C is a pictorial diagram illustrating two-way transfer oflocation-specific images between an images database and one or moremobile devices through a network as implemented in various exemplaryembodiments of the present invention;

FIG. 2 is a flow diagram of one exemplary method for generating anavigation program which upon execution will display one or morelocation-specific images based on the determined position of a mobiledevice according to one embodiment of the present invention;

FIG. 3 is a flow diagram illustrating the execution of the navigationprogram generated in accordance with FIG. 2 above according to oneembodiment of the present invention;

FIG. 4 is a flow diagram of one exemplary method of generating ashopping program which, upon execution, will display one or morelocation-specific images based on the determined position of a mobiledevice according to one embodiment of the present invention;

FIG. 5 is a flow diagram illustrating the execution of the shoppingprogram generated in accordance with FIG. 4 above according to oneembodiment of the present invention;

FIG. 6 is a flow diagram of one exemplary method of generating afavorite places program which, upon execution, will display one or morelocation-specific images based on the determined position of a mobiledevice according to one embodiment of the present invention;

FIG. 7 is a flow diagram illustrating the execution of the favoriteplaces program generated in accordance with FIG. 6 above according toone embodiment of the present invention;

FIG. 8 is a sample screen shot that can be displayed on a mobile deviceduring the execution of a navigation program in accordance with oneembodiment of the present invention;

FIG. 9 is a sample screen shot that can be displayed on a mobile deviceduring the execution of a shopping program in accordance with oneembodiment of the present invention; and

FIG. 10 is a sample screen shot that can be displayed on a mobile deviceduring the execution of a favorite places program in accordance with oneembodiment of the present invention.

DETAILED DESCRIPTION

The present disclosure includes systems and methods for providing amobile image service. The mobile image service, as used herein, refersto one or more services that provide and display location-specificimages on a mobile device based on the determined position of the mobiledevice. A location-specific image, as used herein, refers to an imagetaken at a location, and is thus associated with the geographiccoordinates (e.g., longitude/latitude coordinates) of the location atwhich the image was taken. In various exemplary embodiments,location-specific images are ground-level location-specific images thatshow objects as generally perceived by people on the ground, as opposedto aerial or rooftop images. The following detailed description providesseveral exemplary implementations of the mobile image service. Althoughspecific system configurations and flow diagrams are illustrated, itshould be understood that the examples provided are not exhaustive anddo not limit the invention to the precise forms disclosed. Personshaving ordinary skill in the field of digital data processing willrecognize that the computer components and the arrangements describedherein may be interchangeable with other components and arrangements,and further that the process steps described herein may beinterchangeable with other steps or combinations thereof and stillachieve the benefits and advantages of the present invention.

FIG. 1 A illustrates an exemplary overall environment for implementing amobile image service, which includes a mobile image system 10 includingvarious servers (a database server 11, a Yellow Pages server 12, anavigation server 13, a shopping assistance server 14, and arecommendations server 16) for supporting the mobile image service andone or more mobile devices 20 a, 20 b, and 20 c (collectively referredto as “the mobile devices 20”). The mobile image system 10 resides on anetwork, such as the Internet, and the mobile image system 10 and themobile devices 20 are connected with each other via any suitablewireless communications network 22, such as an Internet-enabled wirelesscommunications network that provides the mobile devices 20 with wirelessaccess to the mobile image service available from the mobile imagesystem 10.

The wireless communications network 22 utilizes any one of a variety ofwireless communications mediums and/or communication methods to transferdata. Examples of suitable wireless communications mediums/methodsinclude, but are not limited to, wireless telephony, personalcommunications service (PCS), short message service (SMS), wirelessapplication protocol (WAP), IEEE 802.XX wireless LAN (WLAN) including aWireless-Fidelity (Wi-Fi) and Wi-Max networks, two-way paging networks,specialized mobile radio systems, non-licensed personal area network(PAN) technology, such as the Bluetooth protocol, and infrared links.Further, the wireless communications network 22 may employ InternetProtocol (IP) addressing. Accordingly, the mobile devices 20 can be anydevices that communicate with the chosen wireless communications network22, such as cellular phones, personal digital assistants (PDAs), mobilecomputer communicators, such as Blackberry® devices, etc., to be fullydescribed in reference to FIG. 1B below. The wireless communicationsnetwork 22 may also include a network that is in part a wired network.For example, the servers 11, 12, 13, 14, and 16 of the mobile imagesystem 10 may be interconnected on a wired network with which the mobiledevices 20 interface wirelessly.

In one embodiment, the mobile devices 20 communicate with the mobileimage system 10 via the wireless communications network 22 using IPaddressing. Protocols and components for communicating wirelessly to andfrom the Internet are well known to those of ordinary skill in the artof computer network communications. Generally, each of the mobiledevices 20 may execute any suitable user interface (UI) application (notshown) that understands given protocols for communicating with themobile image system 10 via the network 22. Examples of suitable UIapplications include, but are not limited to, a Web browser application,.NET™ application, JAVA® application, such as J2EE® application, PocketOutlook™ application, any custom-designed standalone UI application,etc. Each of these UI applications permits a user of the mobile device20 to download, upload, display, or otherwise access resources andservices available from the mobile image system 10 and, in particular,provides the user with a graphical user interface (GUI) to the mobileimage system 10. The mobile image system 10 as depicted in FIG. 1Aoperates in a distributed computing environment comprising severalcomputer systems that are interconnected by communication links, e.g.,using one or more computer networks or direct connections. However, itwill be appreciated by those of ordinary skill in the art that thesystem 10 could equally operate in a computer system having fewer orgreater number of components than are illustrated in FIG. 1 A. Forexample, each of the servers depicted in FIG. 1A may be implementedusing a greater number of computing systems so that each of the variousservices (collectively referred to as the “mobile image service”)provided by the mobile image system 10 may be performed by a cluster ofdifferent computing devices. As another example, components of themobile image system 10 and the mobile device 20 may be reduced to asingle computer system (i.e., embedded in the mobile device 20), as willbe more fully described below. Therefore, the description of the mobileimage system 10 in FIG. 1A should be taken as exemplary, and notlimiting the scope of the invention.

The illustrated embodiment of the mobile image system 10 includes adatabase server 11, a Yellow Pages server 12, a navigation server 13, ashopping assistance server 14, and a recommendations server 16. Thedatabase server 11 includes various databases, such as an imagesdatabase 40, listings database 42, maps-and-directions database 44,shopping database 45, and user profiles database 46. These databasescontain various data to be used by the servers of the mobile imagesystem 10, as will be fully described below.

The Yellow Pages server 12 includes an operating system 24 and a searchengine 26. The details of the Yellow Pages server 12, together withconstruction of the images database 40 and the listing database 42, aredescribed in U.S. patent application Ser. No. 10/809,049, incorporatedabove. Briefly, the Yellow Pages server 12 is a Web page server thatsupports an online Yellow Pages Web site, at which each listing (e.g.,business) can be displayed together with an image of the listing (e.g.,an image of the business storefront). The Yellow Pages server 12communicates text and graphics organized as a Web page using, forexample, hypertext transfer protocols, in response to requests andsearch queries received from any of the mobile devices 20. It should benoted that while the present description is provided in the context ofan online business directory (e.g., Yellow Pages) at which each businesslisting is associated with an image of its geographic location, the sameconcept can be applied to create and publish online residentialdirectories (e.g., White Pages) in which each individual listing isassociated with an image of its geographic location (e.g., an image of ahouse). Therefore, the term “Yellow Pages” as used herein may refer toother types of directories as well, including White Pages.

The listings and their associated location-specific images, which areprocessed by the Yellow pages server 12, are stored in the listingsdatabase 42 and the images database 40, respectively, within thedatabase server 11, in accordance with one embodiment of the presentinvention. It should be understood by those skilled in the art that aparticular configuration of the databases is not limited to what isdisclosed in FIG. 1A, and the databases shown to be included in thedatabase server 11 may be arranged in a distributed manner or may beconsolidated into a fewer number of databases, etc. The listingsdatabase 42 stores information generally found in conventional YellowPages in a searchable form, e.g., listings (business names together withtheir addresses, phone numbers, etc.) searchable by their businessnames, addresses, phone numbers, business types, etc. The listingsdatabase 42 may further store each listing in association with itsgeographic coordinates (e.g., longitude/latitude coordinates). As usedherein, geographic coordinates refer to various types of geographicidentifiers used in suitable position-identification systems, includingthe two axes-based global coordinates system (i.e., longitude/latitudecoordinates), a two axes-based local or customized coordinates system,or any other addressing system that uniquely identifies a geographiclocation. The images database 40 contains digitized images of thebusiness listings taken at their geographic locations in associationwith their geographic coordinates. Thus, between the images database 40and the listings database 42, each image is associated with itsgeographic coordinates and is further correlated with its streetaddress. A combination of the images database 40 and the listingsdatabase 42 is therefore referred to as an image-address database 43.

In operation, upon receiving a search request from users of the mobiledevices 20, the Yellow Pages Server 12 conducts a searches of thelistings database 42 and the images database 40, and identifies andtransmits appropriate listings together with their images over thenetwork 22 to the requesting mobile devices 20 for display. Theadministration and overall operation of the Yellow Pages server 12 iscontrolled by its operating systems 24, while its search function isperformed by the search engine 26 in cooperation with the image-addressdatabase 43. The image-address database 43 is configured to receivesearch instructions from the search engine 26 and to return searchresults thereto. Those of ordinary skill in the art will recognize thatthe Yellow Pages server 12 and the image-address database 43 will eachtypically employ a memory and main processor in which programinstructions are stored and executed for their operation. Incombination, the Yellow Pages server 12 and the image-address database43 permit users of the mobile devices 20 to search and view onlineYellow Pages in which each listing (e.g., business) is displayed with animage of an object (e.g., business building) taken at its geographiclocation. Since each image is correlated with its street address in theimage-address database 43, the users can search for and view an image ofa business based on its street address (or based on any other dataassociated with the business listing in the listings database 42).

FIG. 1B illustrates an exemplary configuration of a mobile device 20suitable for use in the present invention. In various exemplaryembodiments of the present invention, a mobile device 20 may be anydevice that communicates with a chosen wireless communications network22, such as cellular phones, personal digital assistants (PDAs), mobilecomputer communicators, such as Blackberry® devices, portable (mobile)computers, such as laptop computers, Webpads, tablets, and othercomputing devices having some type of memory, etc. In the illustratedembodiment, the mobile device 20 includes a processor 50 incommunication with an input/output interface 52, a memory 54, and anetwork interface 56 for interfacing with the wireless communicationsnetwork 22. The input/output interface 52 enables the processor 50 tocommunicate with various input and output devices. Input devices 58 mayinclude any computing elements that provide input signals to theprocessor 50, such as a keyboard, a mouse, a speech recognitionapplication, such as Microsoft® Speech.NET™ application, etc. Outputdevices 60 may include typical output devices, in particular a screendisplay. The processor 50 is configured to operate in accordance withcomputer program instructions stored in a memory, such as the memory 54.Program instructions may also be embodied in the hardware format, suchas one or more programmed digital signal processors. In one application,location-specific images are stored in the images database 40 of themobile image system 10 (see FIG. 1A) and transmitted over the wirelesscommunications network 22 to be received by the mobile device 20 fordisplay on its screen 60. In another application, a set oflocation-specific images, for example, a set of location-specific imagescorresponding to the general area of interest to the user, may betransmitted over the wireless communications network 22 to be pre-storedin the memory 54 (for example, a hard drive) of the mobile device 20,and the pre-stored images can then be retrieved and displayed on thescreen 60.

In a further application, location-specific images may be pre-stored ina hard disk (including DVD, CD, etc.), such as in a Yellow Pages harddisk 62, a navigation hard disk 64, and a shopping assistance hard disk66, and may be loaded onto the memory 54 of the mobile device 20.Essentially, the images to be displayed on the mobile device 20,together with their associated computer instructions, for use inproviding the Yellow Pages service, the navigation service, and theshopping assistance service, respectively, may be stored in these disks.These hard disks are received by a disk drive (forming part of thememory 54) of the mobile device 20 for storage. For example, the mobiledevice 20 may be a car navigation system without a wirelesscommunications capability to which different sets of location-specificimages in the form of different hard disks can be loaded depending onthe particular general area of interest to the user. In thisapplication, it is not necessary for the mobile device 20 to retrievelocation-specific images from the images database 40 of the mobile imagesystem 10 over the wireless communications network 22.

In various exemplary embodiments of the present invention, thefunctionality provided by the mobile image system 10 is best describedin terms of services. The present invention offers various mobile imageservices, in each of which a mobile device 20 displays alocation-specific image that is selected based on the determinedposition of the mobile device 20. These services may be provided by theservers, each of which is depicted as a single computing device for easeof illustration in FIG. 1A, or may be provided by a greater number ofcomputing devices than shown in FIG. 1A. As known to those skilled inthe art, any stand-alone server may be supported by multiple computersystems connected together by a local area network or othercommunication mechanism. As another example, the services may beprovided by the mobile device 20 itself when it locally stores allnecessary data and instructions (program code) in its memory device, asdescribed above. Accordingly, it should be understood that the term“mobile image system” as used herein encompasses various hardwareconfigurations for implementing the mobile image services of the presentinvention, and is not limited to the particular configuration depictedin FIG. 1A.

In accordance with the present invention, a location-specific image tobe displayed on the screen 60 of the mobile device 20 is selected basedon the position of the mobile device 20 as determined by a positionidentification system. In the present description, the term “positionidentification system” is used to refer to any system that is capable ofidentifying the geographic position of the mobile device 20 so as topermit selection of location-specific images for display based on thedetermined position. The position identification system may utilizedevice-based technologies, i.e., technologies that permit the mobiledevice 20 to self-identify its position. An example of using suchtechnologies is to equip the mobile device 20 with a global positioningsystem (GPS) receiver 68, as shown in FIG. 1B. Alternatively, theposition identification system may utilize network-based technologies,wherein the position of the mobile device 20 is identified based on acommunication link connecting the mobile device 20 and the mobile imagesystem 10 over the wireless communications network 22 (see FIG. 1A). Forexample, certain cellular phone systems track the strength, the angle,and the arrival time difference of transmission signals for determininga cell phone's position, using time difference of arrival (TDOA)technology or timing advance (TA) location measurement technology. Inthis embodiment, the position of the mobile device 20 is identified bythe overall wireless communications network 22, perhaps at its basestation (not shown), and the identified position may be relayed to themobile device 20 and/or the mobile image system 10 to select suitablelocation-specific images for display based on the identified position ofthe mobile device 20. Further alternatively, the position identificationsystem may utilize a combination of both device-based technologies andnetwork-based technologies.

A variety of position identification systems, utilizing device-basedtechnologies and/or network-based technologies, are under developmentand/or available, as is well known in the art. When the mobile device 20consists of a cellular phone, the position identification system may bein compliance with the wireless Enhanced 911 standard prescribed by theUnited States Federal Communications Commission (“the wireless E911standard”). The wireless E911 standard mandates that cellular phoneservice providers within the United States provide the capability tolocate the position of a cellular phone making an emergency (911) callwithin the provider's system. Other position identification systems maybe in compliance with similar standards prescribed in other countries.It should be noted that a position identification system in accordancewith the present invention is capable of identifying the position of themobile device (e.g., a cellular phone) with respect to any “calls”placed to any numbers, IP addresses, etc., and is not limited toemergency calls.

Therefore, the determination of the position of the mobile device 20 mayor may not be performed by the mobile device 20 itself. Specifically, ifa particular embodiment of a position identification system is such thatthe mobile device 20 is configured to self-identify its position (e.g.,using a GPS receiver), then the mobile device 20 is equipped with such aposition identification system, and the position identification system,perhaps in conjunction with the processor 50 of the mobile device 20,will determine the position of the mobile device 20. The mobile device20 (or, more specifically, its processor 50) will then carry outsuitable instructions to select location-specific images for displaybased on the determined position of the mobile device 20. On the otherhand, in another embodiment of the position identification system, theposition of the mobile device 20 may be determined by the overallwireless communications network 22 (e.g., using TDOA technology) withouthaving the mobile device 20 perform any particular functions other thanbeing turned on and transmitting/receiving signals to/from the network22. In such a case, the determined position of the mobile device 20 mayor may not be relayed to the mobile device 20, and selection of suitablelocation-specific images based on the determined location of the mobiledevice 20 may be performed by the mobile device 20 and/or the mobileimage system 10.

Those having ordinary skill in the art of computers will recognize thata wide selection of commercially available components and arrangementscan be used to construct a system, such as the mobile device system 20illustrated in FIG. 1B.

FIG. 1C illustrates two-way transfer of location-specific images betweenthe images database 40 of the mobile image system 10 and the mobiledevice 20 over the wireless communications network 22. When the mobiledevice 20 has an image capturing capability (e.g., including a digitalcamera 69 as shown in FIG. 1B), the processor 50 of the mobile device 20may associate the captured image with the position of the mobile device20 at the time the image was taken (as determined by any suitableposition identification system, described above) to produce alocation-specific image (i.e., an image associated with the geographiccoordinates of the location at which the image was taken). Thelocation-specific image can then be transmitted over the wirelesscommunications network 22 to be included in the images database 40within the mobile image system 10. Thus, the images database 40 can beconstantly updated and/or expanded by receiving additionallocation-specific images uploaded from the mobile devices 20. Forexample, when a location-specific image associated with particulargeographic coordinates is of poor quality (blurred, partially hidden byan obstructing object such as a passing pedestrian, etc.), a user of themobile device 20 can take a high-quality image at the same location andupload the image to replace the poor-quality image. As further examples,a user of the mobile device 20 can upload a location-specific image forthe purpose of receiving a specific service. As a specific example, whena user is locked out of a car, house, etc., the user can take an imageof his location including the car, house, etc, and send thelocation-specific image via the wireless communications network 22 to alocksmith whose computing device has a display. The location-specificimage sent by the user will be displayed on the computing device of thelocksmith, together with its associated address, so that the locksmithcan readily determine and reach the location of the user.

Referring back to FIG. 1A, the mobile image system 10 may furtherinclude the navigation server 13, including an operating system 28 and adirections calculation module 30. The navigation server 13, inconjunction with the image-address database 43 and themaps-and-directions database 44 in the database server 11, provide anddisplay location-specific images on the mobile device 20 as part of anavigation program based on the determined position of the mobile device20. In particular, the navigation server 13 generates a navigationprogram which, when executed on the mobile device 20, will display notonly the relevant maps-and-directions to a destination location, butalso various location-specific images of the destination location andany landmark points along the way. The administration and overalloperation of the navigation server 13 is controlled by its operatingsystem 28, while its function for calculating directions and generatinga directions program is performed by the directions calculation module30 in cooperation with the maps-and-directions database 44, the imagesdatabase 40, and the listings database 42, for example.

FIG. 2 illustrates a sample routine 200 to be performed by thedirections calculation module 30 to generate a navigation program thatincorporates various location-specific images to be displayed on themobile device. At block 201, the directions calculation module 30receives a request for a navigation service from a mobile device 20. Atblock 202, the directions calculation module 30 further receives adesired destination location from the mobile device 20. For example, theuser of the mobile device 20 may type in the address or the businessname of the destination location on the mobile device 20, and theinformation is received by the directions calculation module 30.

At block 203, based on the received destination location, the directionscalculation module 30 identifies a location-specific image of thedestination location. Specifically, for example, the module 30 mayrequest the search engine 26 of the Yellow Pages server 12 to searchthrough the listings database 42 to identify a particular listingcorresponding to the destination location as entered by the user. Once aparticular listing is identified, it may then be used to identify alocation-specific image of the destination location as stored in theimages database 40. The identified location-specific image is associatedwith the geographic coordinates of the location (i.e., the destinationlocation in this case) at which the image was taken.

In one application, when the mobile device 20 is associated with an IPaddress, then the IP address may be used to determine a generalgeographic position of the mobile device 20 thereby selecting a subsetof listings that generally correspond to the determined geographicposition. For example, when the mobile devices 20 access the navigationserver 13 and the image-address database 43 over the wirelesscommunications network 22, it may be preferable to first limit a numberof possible listings (and hence their corresponding location-specificimages) to search through, especially when the data size contained inthe image-address database 43 is large. Most IP addresses are associatedwith a server that is physically proximate to the locations of the IPaddress owners. Thus, based on an IP address of the mobile device 20, itis possible to estimate a general geographic position (e.g., city) ofthe mobile device 20. Then, only those listings corresponding to thegeneral geographic position may be searched, at least initially, to finda listing corresponding to the destination location. Thereafter, alocation-specific image corresponding to the listing can be found.

At block 204, the directions calculation module 30 calculates directionsfrom the current position of the mobile device, as determined by anysuitable position identification system as described above, to thedestination location in reference to the maps-and-directions database44. Various methods of calculating directions are well known in the art.

Optionally, at block 206, the directions calculation module 30 may thenidentify one or more landmark points along the calculated directions.For example, any predefined points of interest, such as majorintersections, large buildings, parks, etc. can be designated aslandmark points in the maps-and-directions database 44. The module 30automatically selects one or more landmark points along the calculateddirections according to any suitable algorithm. For example, the module30 may select landmark points at a certain interval. As another example,each of the landmark points may be pre-rated according to its importance(or preference), and only those landmark points above a certainpreference level may be selected in each application, for exampleaccording to a user input.

At block 208, for each of the landmark points identified, the geographiccoordinates are found from the maps-and-directions database 44, and maythen be used to find a location-specific image taken at the geographiccoordinates from the images database 40.

At block 210, the directions calculation module 30 compiles a navigationprogram for displaying on the mobile device 20 an image of thedestination location, in addition to the ordinary directions and mapsfor navigating the user to the destination location. The navigationprogram may be further configured to display images of one or morelandmark points along the way to the destination location. Each of theseimages will be displayed based on the position of the mobile device 20as determined by the position identification system (e.g., a GPSreceiver). Additionally, in one application, the images of the landmarkpoints and the destination location, or any portion thereof, may bestored and/or presented in the form of a video clip. In thisapplication, essentially all locations along the way toward thedestination location that are associated with location-specific images(or a portion thereof) are designated as landmark points, and theirlocation-specific images are included in a video clip.

It should be understood that the directions calculation module 30,together with its associated databases, such as the images database 40,the listings database 42, and the maps-and-directions database 44, maybe contained in a hard disk 64 and stored in the memory 54 of the mobiledevice 20. (See FIG. 1B). Thus, essentially, the navigation service asdescribed above may be made available to the mobile device 20 that maynot necessarily interface with a wireless communications network 22.

FIG. 3 is a flowchart illustrating actions taken when the navigationprogram generated in accordance with FIG. 2 is executed. At block 301,the navigation program is executed to display relevant directions andmaps in a manner well known in the art. For example, a map of therelevant area may be displayed with an icon representative of the mobiledevice 20 moving on the map in accordance with the actual movement ofthe mobile device 20 as determined by the position identificationsystem. Suitable directions in graphical and/or text form may also bedisplayed.

At block 302, it is determined whether any landmark point is nearing.For example, this determination can be made if any of the landmarkpoints comes within a certain distance from the current position of themobile device 20 as determined by the position identification system. Ifso, then at block 304, the image of the landmark point that is nearingcan be accessed and displayed on the mobile device 20, with anappropriate message, such as “If you see this, turn right,” etc. FIG. 8illustrates a sample screen shot displaying a location-specific image800 of a landmark point (an intersection in this example), together withsuitable directions in both text 802 (“If you see this, turn right”) andgraphics (a left-turning arrow 804 in the example). Thelocation-specific image 800 can remain displayed until the landmarkpoint is passed. For example, the image 800 can be displayed until thedistance between the landmark point and the mobile device 20 starts toincrease.

After the mobile device 20 passes the landmark point, returning to block301 (FIG. 3), the navigation program resumes displaying ordinarymaps-and-directions, while continuing to monitor to see if any otherlandmark point comes close to the mobile device 20 (block 302).

If, at block 302, it is determined that no landmark point is near themobile device 20, then proceeding to block 306, it is determined whetherthe final destination location is nearing. This determination can bemade, for example, when the final destination location comes within acertain distance from the current position of the mobile device 20 asdetermined by the position identification system. If so, then proceedingto block 308, the location-specific image of the final destination isdisplayed on the mobile device 20. An appropriate message, such as “Yourdestination looks like this,” can be displayed at this time. The imagemay remain displayed until the user (i.e., the mobile device 20) reachesthe destination location.

It should be emphasized that FIG. 3 illustrates merely one example ofactions to be performed when a navigation program is executed, andaccordingly, the navigation program in accordance with the presentinvention is not limited to the particular embodiment disclosed in FIG.3. For example, the image of the final destination may be displayedinitially upon execution of the navigation program so that the user canview what to look for at his/her destination location prior to startinghis/her journey. As another example, a video clip of a series oflocation-specific images along the way to a final destination (or aportion thereof) may be displayed initially upon execution of thenavigation program so that the user can view the entire journey at theoutset. As a further example, an image of the final destination may bedisplayed on the mobile device 20 anytime a user's request for such animage is received.

As further extensions of the present invention, various other servicesmay be provided with respect to each of the location-specific images tobe displayed. For example, if a user is traveling to a finaldestination, such as a restaurant, the user may be permitted to make areservation at the restaurant upon viewing the location-specific imageof the restaurant using his/her mobile device 20. For example, manybusinesses have Wi-Fi devices which could process various requests, suchas reservation requests, received via a wireless communications network22 from the mobile device 20. As another example, if the finaldestination is a movie theater, the user of the mobile device 20 may bepermitted to purchase movie tickets upon viewing the location-specificimage of the movie theater wirelessly over the communications network22.

Referring back to FIG. 1 A, the mobile image system 10 may furtherinclude the shopping assistance server 14. The shopping assistanceserver 14, as illustrated, includes an operating system 32 and ashopping assistance module 34. Briefly, the shopping assistance server14, in conjunction with the shopping database 45, etc., allows a user ofthe mobile device 20 to view images of stores that carry items that theuser wishes to purchase.

Specifically, FIG. 4 illustrates a sample routine 400 for generating ashopping program in accordance with one embodiment of the presentinvention. At block 401, the shopping assistance module 34 receives arequest for a shopping assistance service from a user of the mobiledevice 20. At block 402, the module 34 receives a shopping list from theuser of the mobile device. For example, the user may enter text intohis/her mobile device 20 to list items that the user wishes to purchase(stamps, milk, books, etc.). At block 404, for each of the items, themodule 34 finds a corresponding “store category” that carries such anitem (e.g., “post offices” for stamps, “grocery stores” for milk, “bookstores” for books, etc.) This can be determined based on a predefinedlook-up table, for example, as stored in the shopping database 45.Alternatively, the user may directly enter the store categories in theshopping list as opposed to the items to be purchased.

At block 406, for each of the store categories entered or found, themodule 34 finds one or more stores listed under the store category andalso find the geographic (e.g., longitude/latitude) coordinates of thesestores. This can be done, for example, by referring to the listingsdatabase 42 included in the database server 11. Specifically, inaccordance with various exemplary embodiments of the present invention,the listings database 42 lists various stores, businesses, etc., undereach store category, together with their addresses, phone numbers,geographic longitude/latitude coordinates, business hours, etc.Therefore, for each of the store category, a list of stores togetherwith their geographic coordinates can be obtained by searching throughthe listing database 42. In one specific application, only those storesthat are actually open (according to their business hours information)are returned based on the day and time at which the shopping list wasreceived, as determined by an internal clock of the mobile device 20 ora clock accessible by the shopping assistance server 14. At block 407,optionally, for each of the stores found, a location-specific image canbe found. It should be apparent to one skilled in the art that it is notnecessary to retrieve the location-specific images of these stores atthis point, it is only necessary to be able to access theselocation-specific images based on their geographic coordinates and thedetermined position of the mobile device 20, as will be described below.

At block 408, the module 34 finally compiles a shopping program fordisplaying images of the stores that sell the items/products included inthe shopping list. Each of these images will be displayed based on theposition of the mobile device 20 as determined by the positionidentification system.

It should be understood that the shopping assistance module 34, togetherwith its associated databases, such as the shopping database 45, imagesdatabase 40, and the listings database 42, etc., may be contained in ahard disk 66 and stored in the memory 54 of the mobile device 20 (seeFIG. 1B). Thus, essentially, the shopping assistance service asdescribed above may be made available to the mobile device 20 that maynot necessarily interface with a wireless communications network 22.

FIG. 5 illustrates actions performed during execution of the shoppingprogram generated in accordance with FIG. 4 above. At block 501, theprogram monitors for the occurrence of a decision event of block 502. Atblock 502, it is determined whether any of the stores that may carry anitem on the shopping list is nearing the position of the mobile device20 as determined by the position identification system. For example,this determination can be made if the longitude/latitude coordinates ofany of these stores comes within a certain distance from the currentposition of the mobile device 20. If so, proceeding to block 504, theprogram alerts the user (for example, by issuing a beeping sound) anddisplays an image of the store on the mobile device 20 with anappropriate message. FIG. 9 is a sample screen shot displaying an image900 of the store that is coming close to the mobile device 20, togetherwith a text message that reads “You can get your ‘_(——————)’ (902—insertthe relevant item on the shopping list) at ‘_(——————)’ (904—insert thestore name and address) near you.” In connection with the image of astore 900, directions to the store may further be calculated anddisplayed by utilizing the navigation server 13 discussed above. Theimage of the store 900 can be displayed until the user (or morespecifically, the user's mobile device 20) reaches or passes the store.For example, this point of time can be determined when the distance fromthe mobile device to the store starts to increase.

The items to be entered into a shopping list may be general, such as“books,” or may be more specific, such as a particular title of a book.In one example, the mobile image system 10 of the present invention maybe coupled via the wireless communications network 22 with searchableinventory databases of various bookstores. Then, a particular book titleentered in a shopping list as received from the mobile device 20 of auser can be searched within these inventory databases to identify onlythose bookstores that actually carry this particular title. In thisexample, in FIG. 4, block 406, only those bookstores that carry thisparticular title, together with their geographic coordinates, are found.Thereafter, in block 408, a shopping program is compiled for displayinglocation-specific images of only those bookstores.

Referring again back to FIG. 1A, the mobile image system 10 may furtherinclude the recommendations server 16. The recommendations server 16, asillustrated, includes an operating system 36 and a recommendationsmodule 38. The recommendations server 16, in conjunction with the userprofiles database 46, the image-address database 43, etc., may cause themobile device 20 to display location-specific images of the user's“favorite” places. As before, these images will be displayed based onthe determined position of the mobile device 20. Each user's “favorite”places are determined in reference to the data contained in the userprofiles database 46. Specifically, for each user having a user ID, theuser profiles database 46 stores his/her favorite places or informationthat can be used to determine his/her favorite places in associationwith his/her user ID.

A user may actively (explicitly) enter his/her favorite places into theuser profiles database 46, for example, by typing in the addresses ofthe favorite places. Alternatively, a user's favorite places may bepresumed (determined) based on the user's observed behavior on themobile image system 10. For example, when the user accesses thenavigation service provided by the navigation server 13 and enters acertain destination location, the destination location may be presumedto be the user's favorite place and stored as such in the user'sprofile. Likewise, if the user accesses the shopping assistance serviceprovided by the shopping assistance server 14 and enters a shopping listincluding certain items, the stores that carry those items may bepresumed to be the user's favorite places and added to the user'sprofile. As another example, if a user's profile contains a list of theuser's favorite books, for each of these books, a list of geographiclocations that appear in the book may be compiled (e.g., the name of arestaurant that a book's main character visits). Then, these geographiclocations may be presumed to be the user's favorite places, and added tothe user's profile in the database 46. Further alternatively, if noinformation is available regarding the preferences or past behavior of aparticular user, general favorite places (e.g., favorite places of otherusers) may be presumed to be one of this user's favorite places also.Therefore, each user of the mobile device 20 accessing therecommendations service has a user ID, and has an associated userprofile included in the user profiles database 46 (although the amountand content of information included in each user profile may vary),which can be used to determine the user's favorite places. Note that auser ID does not necessarily coincide with a device ID; in someapplications one mobile device may be shared by multiple users eachhaving his/her own user ID and a user profile.

FIG. 6 is a flow chart illustrating a sample routine 600 for generatinga favorite places program in accordance with one embodiment of thepresent invention. At block 601, the recommendations module 38 receivesa request for a recommendations service from the mobile device 20. Atblock 602, the module 38 forms a list of the favorite places of the userrequesting the recommendations service. To this end, the module 38refers to the user profiles database 46 and retrieves the user'sfavorite places stored in the user's profile and/or determines theuser's favorite places based on the information contained in the user'sprofile. At block 603, the module 38 then finds geographic coordinatesfor each of the user's favorite places, in reference to theimage-address database 43. Finally, at block 604, the module 38 compilesa favorite places program for displaying location-specific images of thefavorite places when the user is near or at these favorite places, basedon the determined position of the mobile device 20.

FIG. 7 is a flowchart illustrating actions taken during execution of thefavorite places program generated in accordance with FIG. 6. At block701, the program monitors for the occurrence of a decision event ofblock 702. At the decision block 702, it is determined whether any ofthe favorite places is nearing. For example, this determination can bemade when the determined position of the mobile device 20 comes within acertain distance from the longitude/latitude coordinates of any of thefavorite places. If so, at block 704, the program alerts the user (e.g.,by issuing a beep sound), and displays an image of the favorite place onthe mobile device 20 together with an appropriate message.

FIG. 10 is a sample screen shot displaying an image 1000 of a favoriteplace (a library in this example) that is coming close to the mobiledevice 20, together with a text message that reads “Your favorite‘_(——————)’ (1002—insert the place name, for example “library”) is nearyou at ‘_(——————)’ (1004—insert the place address).” In connection withthe image of the favorite place 1000, directions to the favorite placemay further be calculated and displayed by utilizing the navigationserver 13 discussed above. The image of the favorite place can remaindisplayed until the user (or more specifically, the user's mobile device20) reaches or passes the favorite place.

In various applications of the present invention, a location-specificimage selected for a user based on his/her user ID may be supplementedwith further information available from his/her user profile. Forexample, when an image of a place that the user has visited in the pastis selected based on his/her user profile, the date on which the userlast visited the place may be obtained and used to calculate the periodof time that has passed since that time. Then, the image can bedisplayed on the user's mobile device together with a message such as“It's been ‘_(——————)’ months/years since you last visited your favorite‘_(——————)’ (insert the place name, address, etc.).” Other types ofsupplemental information to annotate a selected image include, forexample, a list of items that the user has purchased at a place in theimage, or a title of a book in which a place in the image appearstogether with any rating that the user has given to the book.

Accordingly, the present invention provides methods and systems thatpermit a user of a mobile device to view location-specific images invarious situations, for example when trying to reach a certaindestination location or to purchase items on a shopping list. In all ofthese situations, the methods and systems display location-specificimages based on the determined position of the mobile device so that thelocation-specific images are displayed in a timely and geographicallyrelevant manner to assist the user in finding and reaching the desirablelocations.

While the preferred embodiments of the invention have been illustratedand described, it will be appreciated that various changes can be madetherein without departing from the spirit and scope of the invention.

What is claimed is:
 1. A computer-implemented method comprising:receiving, from a mobile device comprising a location interface unit,location information identifying a first location of the mobile device;receiving user identification information, the user identificationinformation including historical information associated with a user ofthe mobile device, the historical information including at leastpreviously purchased items; identifying, by one or more computersystems, points of interest based at least in part on the historicalinformation of the user and the first location of the mobile device, thepoints of interest being a determined distance from the first location;monitoring a change in a location of the mobile device based at least inpart on location information transmitted by the location interface unitof the mobile device; determining a second location based at least inpart on the change in the location of the mobile device; modifying, bythe one or more computer systems, the points of interest based at leastin part on the user identification information, the first location ofthe mobile device, and the second location of the mobile device;selecting a list of selected points of interest from the points ofinterest based at least in part on the historical information associatedwith user, the list of the selected points of interest being adetermined distance from the second location; and generating an alertfor transmission to the mobile device, the alert including the list ofthe selected points of interest.
 2. The computer-implemented method ofclaim 1, further comprising: accessing a user profiles database based onthe user identification information; and identifying one or more userlocations stored in the user profiles database and associated with theuser identification information, the one or more user locationsincluding user-designated locations or system-designated locations. 3.The computer-implemented method of claim 2, wherein determining thesecond location further comprises: comparing the second location of themobile device to the one or more user locations associated with the useridentification information; and determining that the second location ofthe mobile device is within a distance of at least one of the one ormore user locations.
 4. The computer-implemented method of claim 2,wherein the system-designated locations are determined automaticallybased on past locations of the mobile device.
 5. Thecomputer-implemented method of claim 2, wherein the system-designatedlocations are determined by a shopping assistance server that isconfigured to: receive a shopping list from the mobile device, theshopping list including one or more items; and identify a store locationassociated with at least one item of the one or more items, the storelocation identified based at least in part on the store location being adetermined distance from the location of the mobile device, and anavailability of the at least one item at the store location.
 6. Thecomputer-implemented method of claim 2, wherein the system-designatedlocations are determined based on locations associated with one or moreuser-designated favorite items stored in the user profiles database. 7.The computer-implemented method of claim 1, wherein sending the alertincludes causing the mobile device to display an image associated withthe location information.
 8. A computing system, comprising: at leastone processor; a memory including instructions stored thereon which,when executed by the at least one processor, cause the computing systemto: receive information identifying a first location of a mobile devicecomprising a location interface unit; receive user identificationinformation, the user identification information including historicalinformation associated with a user of the mobile device, the historicalinformation including at least previously purchased items; identifypoints of interest based at least in part on the historical informationof the user and the first location of the mobile device, the points ofinterest being a determined distance from the first location; monitor achange in a location of the mobile device based at least in part oninformation transmitted from the location interface unit of the mobiledevice; determine a second location based at least in part on the changein the location of the mobile device; modify the points of interestbased at least in part on the user identification information, the firstlocation or the mobile device, and the second location of the mobiledevice; selecting a list of selected points of interest from the pointsof interest based at least in part on the historical informationassociated with the user, the list of the selected points of interestbeing a determined distance from the second location; and generate analert for transmission to the mobile device, the alert including thelist of the selected points of interest.
 9. The computing system ofclaim 8, wherein the memory further includes instructions which, whenexecuted by the at least one processor, further cause the computingsystem to: access a user profiles database based on the useridentification information; and identify one or more user locationsstored in the user profiles database and associated with the useridentification information, the one or more user locations includinguser-designated locations or system-designated locations.
 10. Thecomputing system of claim 9, wherein determining the second locationfurther comprises: comparing the second location of the mobile device tothe one or more user locations associated with the user identificationinformation; and determining that the second location of the mobiledevice is within a distance of at least one of the one or more userlocations.
 11. The computing system of claim 9, wherein the memoryfurther includes instructions which, when executed by the at least oneprocessor, further cause the computing system to automatically determinethe system-designated locations based on past locations of the mobiledevice.
 12. The computing system of claim 9, wherein thesystem-designated locations are determined by a shopping assistanceserver that is configured to: receive a shopping list from the mobiledevice, the shopping list including one or more items; and identify astore location associated with at least one item of the one or moreitems, the store location identified based at least in part on the storelocation being a determined distance from the location of the mobiledevice, and an availability of the at least one item at the storelocation.
 13. The computing system of claim 9, wherein the memoryfurther includes instructions which, when executed by the at least oneprocessor, further cause the computing system to determine thesystem-designated locations based on locations associated with one ormore user-designated favorite items stored in the user profilesdatabase.
 14. The computing system of claim 8, wherein sending the alertincludes causing the mobile device to display an image associated withthe location information.